Project 2
Course
Homework
References
- [已满分在线评测] cmu15445 2022 PROJECT #2 B+Tree Index - Alyjay - 博客园
- CMU 15-445 Project #2 B+Tree 题解 通过 B+树实现索引_AntiO2 的博客-CSDN 博客
- CMU-15-445/Lab2-B-Tree at master · liu-jianhao/CMU-15-445 · GitHub
- CMU 15445-2022 P2 B+Tree Insert/Delete - 知乎
- CMU 15445-2022 P2 B+Tree Concurrent Control - 知乎
- CMU 15445 Project2 B+TREE | 简单的谈一谈 B+树 - 知乎
- 做个数据库:2022 CMU15-445 Project2 B+Tree Index - 知乎
- [已 满分]CMU 数据库(15-445)实验 2-b+树索引实现(上) - 周小伦 - 博客园
可视化
优化
思考
- 重复的 key 应该如何实现?
关于 C++
(void)ctx
的作用?
在 b_plus_tree.cpp
中可以看到这样的代码:
// Declaration of context instance.
Context ctx;
(void)ctx;
Checkpoint 1 要求我们实现 B+ 树的插入、查询、迭代功能。起初我打算按顺序实现每个 Task 的功能,但着实是一头雾水:比如 Task 1 要求我们实现 B+Tree Page、B+Tree Leaf Page、B+Tree Internal Page 这三个类, 但这时还没有写 B+ 树的查询和插入功能,因此我并不清楚这三个类到底该做什么。
参考教材的伪代码,我完成 Checkpoint 1 的顺序是:先写 B+ 树的查询方法,补充节点的 Get/Set 方法、中间节点的二分查找功能;再写 B+ 树的插入方法,补充叶子节点和中间节点的分裂功能;最后实现迭代器。